The transmission of digital information in a communications system from a transmitter to a receiver through a communications channel may include bit errors due to noise and/or distortion. Bit errors may occur due to transmissions over communications channels, between interconnections between the multitude of interconnected integrated circuit chips on computer boards and/or within the integrated circuits. To overcome this problem of bit errors, error correction encoding and decoding has been used.
The BCH (Bose, Chaudhuri and Hocquenghem) codes may be used for random error correction and used as error correction codes for NAND flash memory. Reed-Solomon (RS) codes, which is a type of BCH code, may be used for burst error correction in hard disks and DVDs.
A method and apparatus for decoding to reduce power consumption is described, and more particularly, a method and apparatus for decoding for reducing power consumption by adjusting a frequency of a clock signal provided to a search according to information on the highest order term of an error location polynomial, a method of operating the decoding apparatus, as well as an apparatus for decoding. The Chien search is one example of the operation of the search although other search algorithms could be used. The Chien search is a fast algorithm for determining roots of polynomials defined over a finite field. The most typical use of the Chien search is in finding the roots of error-locator polynomials encountered in decoding Reed-Soloman (RS) codes and BCH (Bose, Chaudhuri and Hocquenghem) codes. BCH codes form a class of parameterized error-correcting codes. The principal advantage of BCH codes is the ease with which they can be decoded, via an elegant algebraic method known as syndrome decoding.
In error correction using BCH codes, BCH code data may be generated using an encoder and is then decoded using a decoder. At this time, the decoder may calculate syndrome values, generate an error location polynomial using the syndrome values, and calculate the roots of the error location polynomial to detect the positions of error bits.